<?php

declare(strict_types=1);
/**
 * This file is part of habo_new_media.
 *
 * @link     https://www.berlen.cn/
 * @contact  tech@berlen.cn
 * @license  http://gitlab.rehou.cn/habo/habo_new_media/-/blob/master/README.md
 */
namespace app\enum;

class ConfigEnum
{
    public const CACHE_CONFIG = [
        // 快手内容拉取队列
        KuaiShouEnum::LIST_CONFIG_KEY => [
            'video' => CommandEnum::KS_USER_TASK_LIST_KEY[0],  // 增量视频
            'video_all' => CommandEnum::KS_USER_TASK_LIST_KEY[2],  // 全量视频
            'video_status_del' => CommandEnum::KS_USER_TASK_LIST_KEY[1],  // 视频删除状态
            'app' => CommandEnum::KS_TASK_LIST_KEY[3],
            'target_template' => CommandEnum::KS_TASK_LIST_KEY[4],
            'campaign' => CommandEnum::KS_TASK_LIST_KEY[5],
            'pic' => CommandEnum::KS_TASK_LIST_KEY[6],
            'action_bar' => CommandEnum::KS_TASK_LIST_KEY[7],
            'creative_category_label_white' => CommandEnum::KS_TASK_LIST_KEY[8],
            'creative_category_label' => CommandEnum::KS_TASK_LIST_KEY[9],
            'creative_tag' => CommandEnum::KS_TASK_LIST_KEY[10],
            'creative_word' => CommandEnum::KS_TASK_LIST_KEY[11],
            'playable' => CommandEnum::KS_TASK_LIST_KEY[12],
            'playable_buttons' => CommandEnum::KS_TASK_LIST_KEY[13],
            'ocpx_conversion_ocpx_types' => CommandEnum::KS_TASK_LIST_KEY[14],
            'adv_card' => CommandEnum::KS_TASK_LIST_KEY[15],
            'ocpx_conversion_deep_types' => CommandEnum::DEEP_OCPX_REDIS_LIST_KEY,
            'app_sub_package' => CommandEnum::KS_TASK_LIST_KEY[16],
            'native_auth_list' => CommandEnum::KS_TASK_LIST_KEY[17],
            'native_video_list' => CommandEnum::KS_TASK_LIST_KEY[18],
            'lp_page' => CommandEnum::KS_TASK_LIST_KEY[19],
            'mongo_video' => CommandEnum::KS_USER_TASK_LIST_KEY[3],  // mongo_db增量视频
            'mongo_video_all' => CommandEnum::KS_USER_TASK_LIST_KEY[4],  // mongo_db全量视频
            'mongo_video_creative_num' => CommandEnum::KS_TASK_LIST_KEY[20],  // mongo_db视频关联创意数查询
            'mongo_video_status_del' => CommandEnum::KS_USER_TASK_LIST_KEY[5],  // mongo_db视频删除状态
            'mongo_pic' => CommandEnum::KS_TASK_LIST_KEY[21],  // mongo_db增量图片
            'library_list' => CommandEnum::KS_TASK_LIST_KEY[22],   // 商品库
            'product_list' => CommandEnum::KS_TASK_LIST_KEY[23],   // 商品列表
            'mongo_pic_all' => CommandEnum::KS_TASK_LIST_KEY[24],   // mongo_db全量图片
            'mongo_video_update_all' => CommandEnum::KS_USER_TASK_LIST_KEY[6],   // mongo_db全量图片修改
        ],
        // 快手内容拉取锁
        KuaiShouEnum::LIST_CONFIG_LOCK_KEY => [
            'video' => 'sync:kuaishou:video:%s:' . RedisEnum::REDIS_STRING,     // 增量视频
            'video_all' => 'sync:kuaishou:video:all:%s:' . RedisEnum::REDIS_STRING,   // 全量视频
            'video_status_del' => 'sync:kuaishou:video:status:del:%s:' . RedisEnum::REDIS_STRING,     // 视频删除状态
            'app' => 'sync:kuaishou:app:%s:' . RedisEnum::REDIS_STRING,
            'target_template' => 'sync:kuaishou:target:template:%s:' . RedisEnum::REDIS_STRING,
            'campaign' => 'sync:kuaishou:campaign:%s:' . RedisEnum::REDIS_STRING,
            'pic' => 'sync:kuaishou:pic:%s:' . RedisEnum::REDIS_STRING,
            'action_bar' => 'sync:kuaishou:action:bar:%s:' . RedisEnum::REDIS_STRING,
            'creative_category_label_white' => 'sync:kuaishou:creative:category:label:white:%s:' . RedisEnum::REDIS_STRING,
            'creative_category_label' => 'sync:kuaishou:creative:category:label:%s:' . RedisEnum::REDIS_STRING,
            'creative_tag' => 'sync:kuaishou:creative:tag:%s:' . RedisEnum::REDIS_STRING,
            'creative_word' => 'sync:kuaishou:creative:word:%s:' . RedisEnum::REDIS_STRING,
            'playable' => 'sync:kuaishou:playable:%s:' . RedisEnum::REDIS_STRING,
            'playable_buttons' => 'sync:kuaishou:playable:buttons:%s:' . RedisEnum::REDIS_STRING,
            'ocpx_conversion_ocpx_types' => 'sync:kuaishou:ocpx:conversion:%s:' . RedisEnum::REDIS_STRING,
            'adv_card' => 'sync:kuaishou:adv:card:%s:' . RedisEnum::REDIS_STRING,
            'ocpx_conversion_deep_types' => 'sync:kuaishou:ocpx:conversion:deep:types:%s:' . RedisEnum::REDIS_STRING,
            'app_sub_package' => 'sync:kuaishou:app:package:%s:' . RedisEnum::REDIS_STRING, // 快手新版应用分包
            'native_auth_list' => 'sync:kuaishou:app:native_auth:%s:' . RedisEnum::REDIS_STRING, // 快手号授权
            'native_video_list' => 'sync:kuaishou:app:native_video:%s:' . RedisEnum::REDIS_STRING, // 原生视频
            'lp_page' => 'sync:kuaishou:lp:page:%s:' . RedisEnum::REDIS_STRING, // 快手魔力建站落地页信息
            'mongo_video' => 'sync:kuaishou:mongo:video:%s:' . RedisEnum::REDIS_STRING,  // mongo_db增量视频
            'mongo_video_all' => 'sync:kuaishou:mongo:video:all:%s:' . RedisEnum::REDIS_STRING,  // mongo_db全量视频
            'mongo_video_creative_num' => 'sync:kuaishou:mongo:video:creative:num:%s:' . RedisEnum::REDIS_STRING,  // mongo_db视频关联创意数查询
            'mongo_video_status_del' => 'sync:kuaishou:mongo:video:status:del:%s:' . RedisEnum::REDIS_STRING,     // mongo_db视频删除状态
            'mongo_pic' => 'sync:kuaishou:mongo:pic:%s:' . RedisEnum::REDIS_STRING,   // 增量mongo_db图片
            'library_list' => 'sync:kuaishou:library:%s:' . RedisEnum::REDIS_STRING,   // 商品库
            'product_list' => 'sync:kuaishou:product:%s:' . RedisEnum::REDIS_STRING,   // 商品
            'mongo_pic_all' => 'sync:kuaishou:mongo:pic:all:%s:' . RedisEnum::REDIS_STRING,   // 全量mongo_db图片
            'mongo_video_update_all' => 'sync:kuaishou:mongo:video:update:all:%s:' . RedisEnum::REDIS_STRING,  // mongo_db更新全量视频
        ],

        // 快手批量拉取队列
        KuaiShouEnum::BATCH_CONFIG_KEY => [
            'unit_bid' => 'ks:batch:unit:bid:' . RedisEnum::REDIS_LIST,
            'unit_bid_push' => 'ks:batch:unit:bid:push:' . RedisEnum::REDIS_LIST,
            'project_bid_push' => 'ks:batch:project:bid:push:' . RedisEnum::REDIS_LIST,
            'target_age' => 'ks:batch:project:target:age:' . RedisEnum::REDIS_LIST,
            'target_age_push' => 'ks:batch:project:target:age:push:' . RedisEnum::REDIS_LIST,
            'batch_campaign' => 'task:batch:ks:campaign:' . RedisEnum::REDIS_LIST,
            'batch_unit' => 'task:batch:ks:unit:' . RedisEnum::REDIS_LIST,
            'batch_creative' => 'task:batch:ks:creative:' . RedisEnum::REDIS_LIST,
            'batch_material' => 'task:batch:ks:material:' . RedisEnum::REDIS_LIST,
            'campaign_sort_num' => 'ks:batch:campaign:sort:%s:%s:' . RedisEnum::REDIS_STRING,  // 广告主计划序号
            'action_bar_sync' => 'ks:batch:action_bar:sync:' . RedisEnum::REDIS_STRING, // 同步行动号召按钮信息
            'batch_schema_video' => 'ks:batch:schema:video:' . RedisEnum::REDIS_LIST, // 视频直达链接初始化
            'batch_schema_pic' => 'ks:batch:schema:pic:' . RedisEnum::REDIS_LIST, // 图片直达链接初始化
            'batch_ks_schema_material' => 'batch:ks:schema:material',
            'unit_frame_time' => 'ks:batch:unit:frame_time:' . RedisEnum::REDIS_LIST, // 获取批量修改的快手投放时段
            'unit_frame_time_push' => 'ks:batch:unit:frame_time_push:' . RedisEnum::REDIS_LIST, // 批量入队快手组投放时段
        ],

        // 快手批量拉取队列
        KuaiShouEnum::BATCH_CONFIG_LOCK_KEY => [
            'unit_bid' => 'ks:unit:bid:task:%d:' . RedisEnum::REDIS_STRING,
            'unit_bid_push' => 'ks:unit:bid:push:task:%d:' . RedisEnum::REDIS_STRING,
            'project_bid_push' => 'ks:project:bid:push:task:%d:' . RedisEnum::REDIS_STRING,
            'target_age' => 'ks:project:target:age:task:%d:' . RedisEnum::REDIS_STRING,
            'target_age_push' => 'ks:project:target:age:task:%d:' . RedisEnum::REDIS_STRING,
            'batch_content' => 'task:batch:lock:ks:content:%s:' . RedisEnum::REDIS_STRING,
            'schema_video' => 'ks:batch:lock:schema:video:%s:%s:' . RedisEnum::REDIS_LIST, // 素材直达链接视频
            'schema_pic' => 'ks:batch:lock:schema:pic:%s:%s:' . RedisEnum::REDIS_LIST, // 素材直达链接视频
            'unit_frame_time' => 'ks:unit:frame_time:task:%s:' . RedisEnum::REDIS_STRING, // 获取批量修改的快手投放时段锁
            'unit_frame_time_content_push' => 'ks:unit:frame_time_content:task:%s:' . RedisEnum::REDIS_STRING, // 获取批量修改的快手投放时段锁
        ],

        // 巨量内容拉取队列
        OceanEnum::LIST_CONFIG_KEY => [
            'app_extend' => CommandEnum::OE_TASK_LIST_KEY[1], // 分包队列
            'project_list' => CommandEnum::OE_TASK_LIST_KEY[7], // 项目列表队列
            'promotion_list' => CommandEnum::OE_TASK_LIST_KEY[8], // 广告列表队列
            'native_anchor' => CommandEnum::OE_TASK_LIST_KEY[5], // 原生锚点队列
            'product_platform' => CommandEnum::OE_TASK_LIST_KEY[9], // 获取商品库信息队列
            'product_list' => CommandEnum::OE_TASK_LIST_KEY[10], // 获取商品列表队列
            'video' => CommandEnum::OE_TASK_LIST_KEY[11], // 获取视频列表队列
            'video_cover' => CommandEnum::OE_TASK_LIST_KEY[12], // 获取视频封面队列
            'img' => CommandEnum::OE_TASK_LIST_KEY[13], // 获取增量图片列表队列
            'img_all' => CommandEnum::OE_TASK_LIST_KEY[14], // 获取全量图片列表队列
            'mongo_video' => CommandEnum::OE_TASK_LIST_KEY[15],  // mongo_db增量视频
            'mongo_video_all' => CommandEnum::OE_TASK_LIST_KEY[16],  // mongo_db全量视频
            'mongo_pic' => CommandEnum::OE_TASK_LIST_KEY[17],   // mongo_db图片
            'mongo_efficiency_video' => CommandEnum::OE_TASK_LIST_KEY[18],   // mongo_db图片
            'audience_package' => CommandEnum::OE_TASK_LIST_KEY[19],   // 定向包
            'schema_video' => 'task:advertiser:oe:schema_video:' . RedisEnum::REDIS_LIST,   // 直达链接视频
            'schema_pic' => 'task:advertiser:oe:schema_pic:' . RedisEnum::REDIS_LIST,   // 直达链接图片
            'schema_video_efficiency' => 'task:advertiser:oe:schema_video_efficiency:' . RedisEnum::REDIS_LIST,   // 更新直达链接低效视频
            'mongo_video_tag_all' => CommandEnum::OE_TASK_LIST_KEY[20],   // mongo_db全量视频标签
            'mongo_video_tag' => CommandEnum::OE_TASK_LIST_KEY[21],   // mongo_db增量视频标签
            'assets' => CommandEnum::OE_TASK_LIST_KEY[22], // 拉取巨量推广内容数据
            'optimized_goal' => CommandEnum::OE_TASK_LIST_KEY[3], // 巨量获取可用优化目标（巨量广告升级版）
            'track_url' => CommandEnum::OE_TASK_LIST_KEY[23], // 拉取巨量事件资产下的监测链接组
            'carousel_all' => CommandEnum::OE_TASK_LIST_KEY[24], // 拉取巨量全量图文素材
            'carousel' => CommandEnum::OE_TASK_LIST_KEY[25], // 拉取巨量增量图文素材
            'tools_gray' => CommandEnum::OE_TASK_LIST_KEY[26], // 拉取巨量白名单能力
            'clue_product_list' => CommandEnum::OE_TASK_LIST_KEY[27], // 获取商品列表队列
        ],
        // 巨量内容拉取锁
        OceanEnum::LIST_CONFIG_LOCK_KEY => [
            'app_extend' => 'sync:ocean:app:extend:%s:' . RedisEnum::REDIS_STRING, // 分包锁
            'project_list' => 'sync:ocean:app:project:%s:' . RedisEnum::REDIS_STRING, // 项目锁
            'promotion_list' => 'sync:ocean:app:promotion:%s:' . RedisEnum::REDIS_STRING, // 广告锁
            'native_anchor' => 'sync:ocean:native:anchor:%s:' . RedisEnum::REDIS_STRING, // 原生锚点锁
            'product_platform' => 'sync:ocean:product:platform:%s:' . RedisEnum::REDIS_STRING, // 获取商品库信息锁
            'product_list' => 'sync:ocean:product:%s:' . RedisEnum::REDIS_STRING, // 获取商品列表锁
            'video' => 'sync:ocean:video:%s:' . RedisEnum::REDIS_STRING, // 获取视频列表队列锁
            'video_cover' => 'sync:ocean:video:cover:%s:' . RedisEnum::REDIS_STRING, // 获取视频封面队列锁
            'img' => 'sync:ocean:img:%s:' . RedisEnum::REDIS_STRING, // 获取增量图片列表队列锁
            'img_all' => 'sync:ocean:img_all:%s:' . RedisEnum::REDIS_STRING, // 获取全量图片列表队列锁
            'mongo_video' => 'sync:ocean:mongo:video:%s:' . RedisEnum::REDIS_STRING, // mongo_db增量视频
            'mongo_video_all' => 'sync:ocean:mongo:video:all:%s:' . RedisEnum::REDIS_STRING,  // mongo_db全量视频
            'mongo_pic' => 'sync:ocean:mongo:pic:%s:' . RedisEnum::REDIS_STRING,  // mongo_db图片
            'mongo_efficiency_video' => 'sync:ocean:mongo:efficiency:video:%s:' . RedisEnum::REDIS_STRING, // 获取低效视频列表队列锁
            'audience_package' => 'sync:ocean:audience:package:%s:' . RedisEnum::REDIS_STRING,  // 定向包
            'schema_video' => 'sync:ocean:schema:video:%s:' . RedisEnum::REDIS_STRING,  // 直达链接视频
            'schema_pic' => 'sync:ocean:schema:pic:%s:' . RedisEnum::REDIS_STRING,  // 直达链接图片
            'schema_video_efficiency' => 'sync:ocean:schema:video:efficiency:%s:' . RedisEnum::REDIS_STRING,  // 更新直达链接低效视频
            'mongo_video_tag_all' => 'sync:ocean:mongo:video:tag:all:%s:' . RedisEnum::REDIS_STRING, // 获取视频全量标签列表队列锁
            'mongo_video_tag' => 'sync:ocean:mongo:tag:video:tag:%s:' . RedisEnum::REDIS_STRING, // 获取视频增量标签列表队列锁
            'assets' => 'sync:ocean:assets:tag:%s:' . RedisEnum::REDIS_STRING, // 拉取巨量推广内容数据
            'carousel_all' => 'sync:ocean:assets:carousel:all:%s:' . RedisEnum::REDIS_STRING, // 拉取巨量图文素材全量锁
            'carousel' => 'sync:ocean:assets:carousel:%s:' . RedisEnum::REDIS_STRING, // 拉取巨量图文素材增量锁
            'tools_gray' => 'sync:ocean:tools:gray:%s:' . RedisEnum::REDIS_STRING, // 拉取巨量白名单能力
            'clue_product_list' => 'sync:ocean:clue:product:%s:' . RedisEnum::REDIS_STRING,   // 线索商品
        ],

        // 巨量批量搭建队列
        OceanEnum::BUILD_CONFIG_KEY => [
            'build_ad' => 'ocean:build:ad:' . RedisEnum::REDIS_LIST, // 广告搭建
            'build_ad_content' => 'ocean:build:ad:content:' . RedisEnum::REDIS_LIST, // 广告结构体搭建
            'build_project' => 'ocean:build:project:' . RedisEnum::REDIS_LIST, // 项目搭建
            'build_project_status' => 'ocean:build:project:status:' . RedisEnum::REDIS_LIST, // 项目状态
            'build_batch_status' => 'ocean:build:batch:status:' . RedisEnum::REDIS_LIST, // 批量搭建状态
        ],
        // 巨量批量搭建锁
        OceanEnum::BUILD_CONFIG_LOCK_KEY => [
            'build_ad' => 'ocean:build:ad:lock:%s:' . RedisEnum::REDIS_STRING, // 广告搭建锁
            'build_ad_info' => 'ocean:build:ad:info:lock:%s:' . RedisEnum::REDIS_STRING, // 广告信息搭建锁
            'build_ad_content' => 'ocean:build:ad:content:lock:%s:' . RedisEnum::REDIS_STRING, // 广告内容搭建锁
            'build_project' => 'ocean:build:project:lock:%s:' . RedisEnum::REDIS_STRING, // 项目搭建锁
            'build_project_content' => 'ocean:build:project:content:lock:%s:' . RedisEnum::REDIS_STRING, // 项目内容搭建锁
            'build_project_info' => 'ocean:build:project:info:lock:%s:' . RedisEnum::REDIS_STRING, // 项目内容搭建锁
            'build_project_status' => 'ocean:build:project:status:lock:%s:' . RedisEnum::REDIS_STRING, // 项目状态锁
            'build_batch' => 'ocean:build:batch:lock:%s:' . RedisEnum::REDIS_STRING, // 批量搭建锁
            'build_batch_status' => 'ocean:build:batch:status:lock:%s:' . RedisEnum::REDIS_STRING, // 批量搭建状态锁
        ],

        // 巨量批量内容处理队列
        OceanEnum::BATCH_CONFIG_KEY => [
            'mongo_video_all_status' => 'ocean:mongo:video:all:status:' . RedisEnum::REDIS_LIST, // mongo_db视频修改删除状态
            'video_all_status' => 'ocean:video:all:status:' . RedisEnum::REDIS_LIST, // 视频修改删除状态
            'product_del' => 'ocean:product:del:' . RedisEnum::REDIS_LIST, // 产品删除
            'clue_product_del' => 'ocean:clue:product:del:' . RedisEnum::REDIS_LIST, // 线索产品删除
            'mongo_oe_material_use' => 'ocean:material:use:' . RedisEnum::REDIS_LIST, // 巨量素材使用刷新
        ],

        // 巨量批量内容处理锁
        OceanEnum::BATCH_CONFIG_LOCK_KEY => [
            'product_del' => 'ocean:batch:product:lock:%s:' . RedisEnum::REDIS_STRING, // 产品锁
            'clue_product_del' => 'ocean:batch:clue:product:lock:%s:' . RedisEnum::REDIS_STRING, // 线索产品锁
        ],

        // 广点通内容拉取队列
        QqEnum::LIST_CONFIG_KEY => [
            'mongo_video' => CommandEnum::QQ_TASK_LIST_KEY[1],  // mongo_db视频
            'mongo_pic' => CommandEnum::QQ_TASK_LIST_KEY[2],  // mongo_db图片
        ],
        // 广点通内容拉取锁
        QqEnum::LIST_CONFIG_LOCK_KEY => [
            'mongo_video' => 'sync:ocean:mongo:video:%s:' . RedisEnum::REDIS_STRING, // mongo_db视频
            'mongo_pic' => 'sync:ocean:mongo:pic:%s:' . RedisEnum::REDIS_STRING, // mongo_db图片
        ],
    ];
}
